package com.ruoyi.system.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excels;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 事件管理对象 t_evt
 *
 * @author ruoyi
 * @date 2024-08-19
 */
public class Evt extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    private Long id;

    /**
     * 事件编号
     */
    @Excel(name = "事件编号", sort=1)
    private String bh;

    /**
     * 事件描述
     */
    @Excel(name = "事件描述", sort=5, width = 50)
    private String contents;

    /**
     * 办结回复
     */
    @Excel(name = "办结回复", sort=6, width = 50)
    private String completeFeedback;

    /**
     * 结案回复
     */
    @Excel(name = "结案回复", sort=7, width = 50)
    private String endFeedback;

    /**
     * 事件类型：一级分类 ,表t_evt_type
     */
    private Long evtTypeId1;

    /**
     * 事件类型：二级分类 ,表t_evt_type
     */
    private Long evtTypeId2;

    /**
     * 事件类型：三级分类 ,表t_evt_type
     */
    private Long evtTypeId3;

    /**
     * 事件等级：表sys_dict.evt_tag
     */
    private Long tagId;

    private Long ownerDeptId;

    private Long sourceId;

    @Excel(name = "所属组织", sort=10)
    private String ownerDeptFullTxt;

    @Excel(name = "登记时间", sort=12, dateFormat = "yyyy-MM-dd HH:mm:ss", width = 30)
    private Date reportTime;

    @Excel(name = "办结组织", sort=8)
    private String doneDeptFullTxt;

    @Excel(name = "办结时间", sort=11, dateFormat = "yyyy-MM-dd HH:mm:ss", width = 30)
    private Date doneTime;

    @Excel(name = "结案组织", sort=9)
    private String finishDeptFullTxt;

    private Long addUserId;
    private Date addTime;
    private Long updateUserId;
    private Date updateTime;

    private String typeName ;
    private String deptName;
    private String ruleName;

    @Excels({
            @Excel(name = "一级分类", targetAttr = "typeName", sort=2)
    })
    private EvtType evtType1;

    @Excels({
            @Excel(name = "二级分类", targetAttr = "typeName", sort=3)
    })
    private EvtType evtType2;

    @Excels({
            @Excel(name = "三级分类", targetAttr = "typeName", sort=4)
    })
    private EvtType evtType3;

    @Excels({
            @Excel(name = "所属部门", targetAttr = "deptName", sort=14)
    })
    private SysDept ownerDept;

    private SysUser addUser;
    private SysUser updateUser;

    @Excels({
            @Excel(name = "事件标签", targetAttr = "dictLabel", sort=13)
    })
    private SysDictData tag;


    @Excels({
            @Excel(name = "数据来源", targetAttr = "dictLabel", sort=15)
    })
    private SysDictData source;
    //查询参数
    private Long spEvtTypeId;
    public SysDictData getSource() {
        if (source == null) {
            source = new SysDictData();
        }
        return source;
    }
    public SysDictData getTag() {
        if (tag == null) {
            tag = new SysDictData();
        }
        return tag;
    }

    public EvtType getEvtType1() {
        if (evtType1 == null) {
            evtType1 = new EvtType();
        }
        return evtType1;
    }

    public EvtType getEvtType2() {
        if (evtType2 == null) {
            evtType2 = new EvtType();
        }
        return evtType2;
    }

    public EvtType getEvtType3() {
        if (evtType3 == null) {
            evtType3 = new EvtType();
        }
        return evtType3;
    }

    public SysDept getOwnerDept() {
        if (ownerDept == null) {
            ownerDept = new SysDept();
        }
        return ownerDept;
    }

    public SysUser getAddUser() {
        if (addUser == null) {
            addUser = new SysUser();
        }
        return addUser;
    }

    public SysUser getUpdateUser() {
        if (updateUser == null) {
            updateUser = new SysUser();
        }
        return updateUser;
    }

    public void setTag(SysDictData tag) {
        this.tag = tag;
    }



    public void setSource(SysDictData source) {
        this.source = source;
    }

    public void setEvtType2(EvtType evtType2) {
        this.evtType2 = evtType2;
    }

    public void setEvtType3(EvtType evtType3) {
        this.evtType3 = evtType3;
    }

    public Long getSpEvtTypeId() {
        return spEvtTypeId;
    }

    public Long getOwnerDeptId() {
        return ownerDeptId;
    }

    public void setSpEvtTypeId(Long spEvtTypeId) {
        this.spEvtTypeId = spEvtTypeId;
    }


    public void setEvtType1(EvtType evtType1) {
        this.evtType1 = evtType1;
    }


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public void setBh(String bh) {
        this.bh = bh;
    }

    public String getBh() {
        return bh;
    }

    public void setContents(String contents) {
        this.contents = contents;
    }

    public String getContents() {
        return contents;
    }

    public void setCompleteFeedback(String completeFeedback) {
        this.completeFeedback = completeFeedback;
    }

    public String getCompleteFeedback() {
        return completeFeedback;
    }

    public void setEndFeedback(String endFeedback) {
        this.endFeedback = endFeedback;
    }

    public String getEndFeedback() {
        return endFeedback;
    }

    public void setOwnerDeptId(Long ownerDeptId) {
        this.ownerDeptId = ownerDeptId;
    }

    public String getOwnerDeptFullTxt() {
        return ownerDeptFullTxt;
    }

    public void setOwnerDeptFullTxt(String ownerDeptFullTxt) {
        this.ownerDeptFullTxt = ownerDeptFullTxt;
    }

    public Date getReportTime() {
        return reportTime;
    }

    public void setReportTime(Date reportTime) {
        this.reportTime = reportTime;
    }

    public String getDoneDeptFullTxt() {
        return doneDeptFullTxt;
    }

    public void setDoneDeptFullTxt(String doneDeptFullTxt) {
        this.doneDeptFullTxt = doneDeptFullTxt;
    }

    public Date getDoneTime() {
        return doneTime;
    }

    public void setDoneTime(Date doneTime) {
        this.doneTime = doneTime;
    }

    public String getFinishDeptFullTxt() {
        return finishDeptFullTxt;
    }

    public void setFinishDeptFullTxt(String finishDeptFullTxt) {
        this.finishDeptFullTxt = finishDeptFullTxt;
    }

    public Long getAddUserId() {
        return addUserId;
    }

    public void setAddUserId(Long addUserId) {
        this.addUserId = addUserId;
    }

    public Date getAddTime() {
        return addTime;
    }

    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    public Long getUpdateUserId() {
        return updateUserId;
    }

    public void setUpdateUserId(Long updateUserId) {
        this.updateUserId = updateUserId;
    }

    @Override
    public Date getUpdateTime() {
        return updateTime;
    }

    @Override
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public void setOwnerDept(SysDept ownerDept) {
        this.ownerDept = ownerDept;
    }

    public void setAddUser(SysUser addUser) {
        this.addUser = addUser;
    }

    public void setUpdateUser(SysUser updateUser) {
        this.updateUser = updateUser;
    }

    public void setEvtTypeId1(Long evtTypeId1) {
        this.evtTypeId1 = evtTypeId1;
    }

    public Long getEvtTypeId1() {
        return evtTypeId1;
    }

    public void setEvtTypeId2(Long evtTypeId2) {
        this.evtTypeId2 = evtTypeId2;
    }

    public Long getEvtTypeId2() {
        return evtTypeId2;
    }

    public void setEvtTypeId3(Long evtTypeId3) {
        this.evtTypeId3 = evtTypeId3;
    }

    public Long getEvtTypeId3() {
        return evtTypeId3;
    }

    public Long getTagId() {
        return tagId;
    }

    public void setTagId(Long tagId) {
        this.tagId = tagId;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public Long getSourceId() {
        return sourceId;
    }

    public void setSourceId(Long sourceId) {
        this.sourceId = sourceId;
    }

    public String getRuleName() {
        return ruleName;
    }

    public void setRuleName(String ruleName) {
        this.ruleName = ruleName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("bh", getBh())
                .append("contents", getContents())
                .append("completeFeedback", getCompleteFeedback())
                .append("endFeedback", getEndFeedback())
                .append("evtTypeId1", getEvtTypeId1())
                .append("evtTypeId2", getEvtTypeId2())
                .append("evtTypeId3", getEvtTypeId3())
                .toString();
    }
}
